from dataclasses import dataclass
from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能


class 收招技能(主动技能):
    终结data0 = []
    终结hit0 = 0
    终结power0 = 1
    终结rate0 = 1

    终结data1 = []
    终结hit1 = 0
    终结power1 = 1
    终结rate1 = 1

    形态 = ['收招', '非收']

    def 等效百分比(self, **argv):
        武器类型 = argv.get('武器类型', '')
        char: Character = argv.get('char', {})
        终结追击 = char.get_skill_by_name("终结追击")
        self.终结rate0 = self.终结rate1 = 终结追击.终结追击倍率()*终结追击.终结追击倍率1(武器类型) * \
            char.get_skill_by_name("双剑精通").终结追击倍率(武器类型)
        return super().等效百分比(**argv)

    def 基础百分比(self, 类型, 等级):
        百分比 = super().基础百分比(类型, 等级)
        if 类型 == '直伤':
            name = '终结'
            for i in range(0, 2):
                data = getattr(self, '{}data{}'.format(name, i), [])
                if 等级 < len(data) and 等级 > 0:
                    hit = getattr(self, '{}hit{}'.format(name, i), 1)
                    power = getattr(self, '{}power{}'.format(name, i), 1)
                    rate = getattr(self, '{}rate{}'.format(name, i), 1)
                    百分比 += data[等级] * hit * power * rate
        return 百分比*self.国服特色

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == '收招':
            self.终结hit0 = 1
            self.终结hit1 = 1
        if 形态 == '非收':
            self.终结hit0 = 0
            self.终结hit1 = 0


class 技能0(主动技能):
    名称 = '终结追击'
    所在等级 = 15
    等级上限 = 30
    学习间隔 = 2
    等级精通 = 20
    是否有伤害 = 0
    MP = [18, 56]

    def 终结追击倍率(self):
        if self.等级 == 0:
            return 0.0
        else:
            return round(0.79 + 0.02 * self.等级, 5)

    def 终结追击倍率1(self, 武器类型):
        if self.等级 == 0:
            return 0.0
        elif 武器类型 == '匕首':  # 1.00, 1.25, 1.55, 1.95, 2.50, 3.25, 4.25;双剑最多6星
            return 4.25
        elif 武器类型 == '双剑':  # 1.00, 1.25, 1.55, 1.95, 2.50, 3.25, 4.25;双剑最多6星
            return 3.25
        else:
            return 0.0


class 技能1(收招技能):
    名称 = '双刃穿刺'
    备注 = '单体'
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 7
    MP = [47, 518]
    无色消耗 = 0
    # 本体
    data0 = [0, 774, 851, 930, 1010, 1088, 1165, 1245, 1323, 1402, 1479, 1558, 1638, 1716, 1794, 1872, 1950, 2031, 2107, 2187, 2266, 2342, 2422, 2500, 2581, 2656, 2736, 2816, 2896, 2971, 3051, 3130, 3209, 3286, 3366,
             3445, 3523, 3600, 3680, 3758, 3837, 3915, 3993, 4073, 4150, 4229, 4307, 4386, 4466, 4542, 4622, 4699, 4777, 4858, 4935, 5015, 5091, 5171, 5249, 5331, 5405, 5486, 5565, 5643, 5721, 5801, 5880, 5958, 6035, 6115, 6192]
    hit0 = 1
    data1 = [0, 1160, 1277, 1396, 1514, 1630, 1748, 1865, 1987, 2104, 2220, 2340, 2457, 2573, 2692, 2810, 2927, 3046, 3164, 3282, 3399, 3516, 3634, 3752, 3869, 3987, 4106, 4222, 4342, 4458, 4575, 4696, 4812, 4931, 5048,
             5167, 5285, 5403, 5519, 5637, 5755, 5873, 5991, 6107, 6228, 6345, 6461, 6580, 6697, 6814, 6933, 7049, 7167, 7288, 7405, 7524, 7642, 7758, 7876, 7993, 8110, 8230, 8347, 8465, 8583, 8700, 8819, 8935, 9052, 9172, 9288]
    hit1 = 1
    data2 = [0, 1547, 1703, 1863, 2019, 2177, 2333, 2489, 2645, 2805, 2961, 3119, 3275, 3433, 3588, 3748, 3902, 4063, 4219, 4376, 4531, 4690, 4847, 5005, 5161, 5318, 5474, 5632, 5788, 5947, 6104, 6262, 6417, 6575, 6731, 6891,
             7047, 7204, 7359, 7518, 7674, 7833, 7989, 8147, 8303, 8462, 8616, 8777, 8933, 9090, 9246, 9404, 9560, 9717, 9875, 10032, 10188, 10347, 10502, 10659, 10816, 10976, 11132, 11290, 11445, 11603, 11760, 11918, 12074, 12233, 12388]
    hit2 = 1
    # 终结追击
    终结data0 = [0, 695, 767, 837, 909, 979, 1050, 1121, 1190, 1261, 1331, 1402, 1473, 1544, 1614, 1684, 1755, 1826, 1898, 1969, 2040, 2108, 2179, 2250, 2321, 2391, 2460, 2534, 2604, 2675, 2746, 2818, 2889, 2959, 3030,
               3099, 3170, 3241, 3311, 3382, 3453, 3523, 3594, 3663, 3735, 3807, 3878, 3949, 4019, 4088, 4159, 4230, 4302, 4372, 4441, 4512, 4583, 4653, 4727, 4798, 4869, 4939, 5008, 5079, 5150, 5222, 5291, 5362, 5433, 5503, 5574]
    终结hit0 = 1
    TP成长 = 0.1
    TP上限 = 7
    演出时间 = 0.2


class 技能2(收招技能):
    名称 = '绝杀斩'
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 7
    MP = [25, 273]
    无色消耗 = 0
    # 本体
    data0 = [0, 3186, 3508, 3831, 4155, 4479, 4803, 5126, 5446, 5770, 6094, 6418, 6740, 7064, 7387, 7710, 8034, 8357, 8680, 9003, 9328, 9649, 9974, 10297, 10620, 10944, 11268, 11590, 11914, 12236, 12560, 12883, 13207, 13531, 13851, 14174, 14498,
             14822, 15146, 15470, 15790, 16114, 16438, 16762, 17086, 17406, 17730, 18054, 18378, 18703, 19027, 19346, 19670, 19995, 20319, 20642, 20964, 21286, 21611, 21933, 22257, 22582, 22903, 23225, 23549, 23873, 24197, 24519, 24843, 25165, 25489]
    hit0 = 1
    # 终结追击
    终结data0 = [0, 97, 104, 113, 124, 133, 144, 154, 164, 170, 183, 191, 202, 211, 221, 231, 239, 249, 259, 269, 278, 289, 296, 310, 316, 327, 337, 347, 357, 367, 374, 385, 395, 404, 416,
               424, 435, 444, 454, 463, 472, 481, 493, 502, 509, 520, 529, 541, 550, 560, 571, 580, 587, 598, 608, 619, 627, 639, 648, 656, 667, 675, 686, 696, 706, 715, 727, 733, 744, 753, 764]
    终结hit0 = 1
    终结data1 = [0, 180, 199, 215, 233, 252, 272, 289, 310, 325, 346, 362, 381, 400, 417, 436, 454, 472, 492, 508, 528, 544, 564, 583, 602, 619, 636, 656, 673, 694, 710, 729, 748, 764, 783, 802, 820,
               838, 859, 875, 896, 912, 930, 950, 967, 987, 1003, 1022, 1042, 1058, 1077, 1095, 1114, 1131, 1152, 1168, 1186, 1206, 1222, 1243, 1260, 1279, 1298, 1314, 1333, 1352, 1370, 1389, 1408, 1425, 1446]
    终结hit1 = 3
    TP成长 = 0.1
    TP上限 = 7
    演出时间 = 0.2

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == '收招':
            self.终结hit0 = 1
            self.终结hit1 = 3
        if 形态 == '非收':
            self.终结hit0 = 0
            self.终结hit1 = 0


class 技能3(收招技能):
    名称 = '旋舞斩'
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 7
    MP = [25, 273]
    无色消耗 = 0
    # 本体
    data0 = [0, 3018, 3326, 3631, 3937, 4242, 4549, 4856, 5161, 5469, 5775, 6081, 6388, 6693, 7000, 7304, 7611, 7919, 8224, 8531, 8836, 9143, 9450, 9755, 10063, 10367, 10674, 10981, 11286, 11593, 11898, 12206, 12514, 12819, 13126, 13430, 13737,
             14044, 14349, 14657, 14962, 15269, 15576, 15881, 16188, 16497, 16802, 17109, 17415, 17720, 18027, 18332, 18640, 18948, 19252, 19560, 19864, 20172, 20478, 20784, 21092, 21396, 21703, 22009, 22315, 22621, 22927, 23235, 23541, 23847, 24154]
    hit0 = 1
    # 终结追击
    终结data0 = [0, 604, 664, 725, 787, 848, 910, 970, 1031, 1093, 1154, 1216, 1277, 1339, 1399, 1460, 1522, 1583, 1645, 1704, 1769, 1828, 1888, 1951, 2011, 2075, 2134, 2194, 2256, 2317, 2379, 2439, 2503, 2562, 2624, 2685,
               2746, 2809, 2870, 2930, 2991, 3052, 3115, 3174, 3238, 3297, 3360, 3421, 3483, 3544, 3605, 3667, 3727, 3789, 3850, 3910, 3973, 4033, 4095, 4156, 4218, 4279, 4341, 4402, 4462, 4524, 4585, 4647, 4707, 4768, 4830]
    终结hit0 = 1
    TP成长 = 0.1
    TP上限 = 7
    演出时间 = 0.1

    形态 = ['收x7', '收x6', '收x5', '收x4', '收x3', '收x2', '收x1', '非收']

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == '收x7':
            self.终结hit0 = 7
        if 形态 == '收x6':
            self.终结hit0 = 6
        if 形态 == '收x5':
            self.终结hit0 = 5
        if 形态 == '收x4':
            self.终结hit0 = 4
        if 形态 == '收x3':
            self.终结hit0 = 3
        if 形态 == '收x2':
            self.终结hit0 = 2
        if 形态 == '收x1':
            self.终结hit0 = 1
        if 形态 == '非收':
            self.终结hit0 = 0


class 技能4(被动技能):
    名称 = '匕首精通'
    所在等级 = 20
    等级上限 = 30
    基础等级 = 20
    冷却关联技能 = ['所有']
    data0 = [0, 3.6, 5.3, 7, 8.7, 10.4, 12.1, 13.8, 15.5, 17.2, 18.9, 20.6, 22.3, 24, 25.7, 27.4,
             29.1, 30.8, 32.5, 34.2, 35.9, 38.7, 41.5, 44.3, 47.1, 49.9, 52.7, 55.5, 58.3, 61.1, 63.9]
    data1 = [0, 1, 1.3, 1.6, 1.9, 2.2, 2.5, 2.8, 3.1, 3.4, 3.7, 4, 4.3, 4.6, 4.9,
             5.2, 5.5, 5.8, 6.1, 6.4, 6.7, 7, 7.3, 7.6, 7.9, 8.2, 8.5, 8.8, 9.1, 9.4, 9.7]

    def 物理攻击力倍率(self, 武器类型):
        if self.等级 == 0 or 武器类型 != '匕首':
            return 1.0
        else:
            return round(1 + self.data0[self.等级] / 100, 5)

    def CD缩减倍率(self, 武器类型):
        if self.等级 == 0 or 武器类型 != '匕首':
            return 1.0
        else:
            return round(1 - self.data1[self.等级] / 100, 5)


class 技能5(被动技能):
    名称 = '双剑精通'
    所在等级 = 20
    等级上限 = 30
    基础等级 = 20
    data0 = [0, 3.6, 5.3, 7, 8.7, 10.4, 12.1, 13.8, 15.5, 17.2, 18.9, 20.6, 22.3, 24, 25.7, 27.4,
             29.1, 30.8, 32.5, 34.2, 35.9, 38.7, 41.5, 44.3, 47.1, 49.9, 52.7, 55.5, 58.3, 61.1, 63.9]
    data1 = [0, 22, 23, 25, 26, 27, 28, 29, 31, 32, 33, 34, 36, 37, 38,
             39, 40, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 54, 55, 56, 57]

    def 物理攻击力倍率(self, 武器类型):
        if self.等级 == 0 or 武器类型 != '双剑':
            return 1.0
        else:
            return round(1 + self.data0[self.等级] / 100, 5)

    def 终结追击倍率(self, 武器类型):
        if self.等级 == 0 or 武器类型 != '双剑':
            return 1.0
        else:
            return round(1 + self.data1[self.等级] / 100, 5)


class 技能6(收招技能):
    名称 = '旋刃'
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8
    MP = [45, 469]
    无色消耗 = 0
    # 本体
    data0 = [0, 331, 367, 400, 433, 468, 499, 535, 569, 603, 639, 672, 705, 738, 771, 808, 841, 873, 907, 940, 977, 1011, 1042, 1076, 1112, 1147, 1179, 1213, 1245, 1281, 1315, 1349, 1382, 1418, 1449, 1482, 1518,
             1553, 1586, 1620, 1650, 1686, 1721, 1756, 1789, 1820, 1856, 1890, 1925, 1958, 1991, 2026, 2060, 2092, 2127, 2162, 2194, 2228, 2262, 2296, 2330, 2365, 2397, 2431, 2465, 2499, 2534, 2568, 2599, 2635, 2669]
    hit0 = 3
    data1 = [0, 458, 506, 552, 598, 643, 691, 738, 786, 831, 877, 923, 970, 1018, 1065, 1112, 1157, 1202, 1250, 1297, 1345, 1389, 1436, 1482, 1530, 1578, 1621, 1670, 1717, 1763, 1809, 1856, 1901, 1950, 1996, 2042,
             2089, 2136, 2180, 2228, 2276, 2322, 2367, 2415, 2460, 2508, 2555, 2601, 2647, 2695, 2740, 2787, 2833, 2880, 2928, 2975, 3021, 3067, 3114, 3158, 3207, 3254, 3301, 3346, 3393, 3439, 3487, 3534, 3581, 3625, 3673]
    hit1 = 3
    data2 = [0, 626, 689, 752, 816, 879, 940, 1007, 1072, 1132, 1198, 1259, 1325, 1387, 1451, 1514, 1579, 1642, 1706, 1769, 1831, 1895, 1958, 2022, 2087, 2149, 2214, 2276, 2340, 2404, 2468, 2530, 2595, 2659, 2720, 2785,
             2847, 2911, 2975, 3039, 3103, 3166, 3229, 3293, 3356, 3418, 3483, 3546, 3609, 3674, 3736, 3800, 3863, 3928, 3990, 4055, 4117, 4182, 4246, 4307, 4373, 4435, 4499, 4562, 4626, 4689, 4753, 4817, 4880, 4944, 5006]
    hit2 = 3
    # 终结追击
    终结data0 = [0, 282, 312, 341, 370, 398, 429, 457, 483, 514, 542, 571, 599, 629, 658, 687, 717, 743, 771, 801, 830, 860, 888, 917, 947, 975, 1003, 1030, 1060, 1089, 1117, 1148, 1176, 1206, 1233, 1262, 1291,
               1320, 1350, 1378, 1406, 1435, 1464, 1493, 1521, 1550, 1580, 1608, 1636, 1666, 1695, 1722, 1751, 1781, 1809, 1839, 1867, 1895, 1925, 1952, 1982, 2011, 2039, 2068, 2098, 2126, 2154, 2181, 2212, 2240, 2270]
    终结hit0 = 3
    TP成长 = 0.1
    TP上限 = 7
    演出时间 = 0.2

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == '收招':
            self.终结hit0 = 3
            self.终结hit1 = 0
        if 形态 == '非收':
            self.终结hit0 = 0
            self.终结hit1 = 0


class 技能7(收招技能):
    名称 = '剑刃风暴'
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 10
    MP = [65, 699]
    无色消耗 = 0
    # 本体
    data0 = [0, 608, 673, 733, 795, 857, 919, 981, 1043, 1105, 1166, 1227, 1292, 1352, 1414, 1476, 1537, 1598, 1661, 1723, 1785, 1847, 1909, 1973, 2033, 2094, 2157, 2218, 2282, 2342, 2403, 2467, 2528, 2590, 2653, 2714,
             2775, 2837, 2899, 2961, 3025, 3084, 3148, 3208, 3271, 3334, 3394, 3456, 3518, 3578, 3642, 3704, 3766, 3827, 3890, 3951, 4015, 4075, 4136, 4199, 4262, 4321, 4386, 4446, 4508, 4570, 4633, 4695, 4756, 4817, 4879]
    hit0 = 10
    # 终结追击
    终结data0 = [0, 1220, 1341, 1466, 1592, 1711, 1837, 1962, 2087, 2208, 2334, 2458, 2579, 2704, 2829, 2952, 3076, 3199, 3325, 3445, 3570, 3696, 3818, 3941, 4068, 4190, 4313, 4438, 4561, 4685, 4811, 4933, 5055, 5183, 5304,
               5427, 5552, 5676, 5801, 5924, 6047, 6172, 6294, 6419, 6543, 6666, 6789, 6912, 7039, 7161, 7284, 7410, 7530, 7654, 7781, 7902, 8026, 8152, 8277, 8397, 8523, 8646, 8768, 8895, 9018, 9140, 9265, 9388, 9514, 9638, 9760]
    终结hit0 = 1
    TP成长 = 0.1
    TP上限 = 7
    演出时间 = 0.5

    形态 = ["收x10", "收x8", "非收x10", "非收x8"]

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "收x10":
            self.hit0 = 10
            self.终结hit0 = 1
        if 形态 == "收x8":
            self.hit0 = 8
            self.终结hit0 = 1
        if 形态 == "非收x10":
            self.hit0 = 10
            self.终结hit0 = 0
        if 形态 == "非收x8":
            self.hit0 = 8
            self.终结hit0 = 0


class 技能8(收招技能):
    名称 = '雷光刃影'
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 15
    MP = [91, 763]
    无色消耗 = 1
    # 本体
    # 抓取
    data0 = [0, 970, 1070, 1166, 1266, 1364, 1464, 1562, 1660, 1760, 1858, 1957, 2055, 2154, 2251, 2351, 2449, 2548, 2646, 2745, 2843, 2943, 3041, 3140, 3237, 3336, 3434, 3532, 3632, 3730, 3830, 3928, 4028, 4126, 4225,
             4322, 4421, 4518, 4619, 4716, 4815, 4913, 5012, 5110, 5209, 5307, 5406, 5504, 5603, 5701, 5799, 5899, 5997, 6096, 6193, 6295, 6392, 6491, 6589, 6688, 6786, 6885, 6984, 7083, 7181, 7280, 7377, 7476, 7575, 7674, 7772]
    hit0 = 0
    data1 = [0, 2914, 3210, 3506, 3800, 4096, 4393, 4689, 4983, 5280, 5575, 5871, 6166, 6463, 6759, 7055, 7349, 7645, 7940, 8236, 8532, 8827, 9125, 9420, 9716, 10011, 10307, 10603, 10896, 11193, 11490, 11785, 12081, 12376, 12673, 12967, 13264,
             13559, 13857, 14151, 14446, 14742, 15037, 15333, 15629, 15923, 16220, 16516, 16813, 17107, 17404, 17698, 17996, 18289, 18585, 18883, 19177, 19474, 19769, 20065, 20360, 20655, 20952, 21248, 21543, 21839, 22135, 22430, 22726, 23022, 23316]
    hit1 = 0
    # 非抓
    data2 = [0, 5827, 6421, 7013, 7602, 8193, 8787, 9377, 9969, 10560, 11152, 11744, 12334, 12925, 13517, 14109, 14700, 15291, 15884, 16473, 17065, 17656, 18249, 18840, 19431, 20022, 20614, 21205, 21796, 22387, 22980, 23570, 24162, 24753, 25347, 25937,
             26527, 27118, 27711, 28303, 28894, 29486, 30076, 30667, 31259, 31850, 32442, 33034, 33626, 34217, 34806, 35399, 35990, 36582, 37173, 37766, 38356, 38947, 39538, 40130, 40722, 41312, 41903, 42496, 43087, 43678, 44269, 44863, 45452, 46043, 46635]
    hit2 = 1
    data3 = [0, 3886, 4280, 4673, 5068, 5462, 5857, 6252, 6646, 7039, 7434, 7828, 8224, 8617, 9011, 9405, 9799, 10193, 10590, 10982, 11377, 11771, 12165, 12560, 12955, 13348, 13741, 14136, 14530, 14924, 15320, 15715, 16108, 16503, 16897, 17290,
             17687, 18079, 18473, 18867, 19262, 19656, 20050, 20446, 20840, 21233, 21628, 22021, 22415, 22811, 23205, 23599, 23993, 24388, 24781, 25176, 25571, 25965, 26359, 26754, 27146, 27542, 27937, 28330, 28724, 29118, 29512, 29908, 30302, 30697, 31091]
    hit3 = 1
    # 终结追击
    终结data0 = [0, 1941, 2139, 2336, 2533, 2731, 2929, 3126, 3323, 3520, 3718, 3915, 4110, 4307, 4505, 4702, 4899, 5096, 5294, 5492, 5688, 5885, 6082, 6279, 6476, 6674, 6871, 7067, 7265, 7462, 7660, 7858, 8054, 8250, 8448, 8645, 8842,
               9040, 9236, 9433, 9631, 9827, 10023, 10222, 10419, 10617, 10814, 11011, 11209, 11404, 11601, 11798, 11996, 12192, 12389, 12588, 12785, 12983, 13180, 13376, 13574, 13771, 13968, 14166, 14362, 14557, 14755, 14953, 15150, 15347, 15544]
    终结hit0 = 1
    CD = 15.0
    TP成长 = 0.1
    TP上限 = 5
    演出时间 = 0.3


class 技能9(收招技能):
    名称 = '螺旋穿刺'
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 15
    MP = [128, 1072]
    无色消耗 = 1
    # 本体
    data0 = [0, 920, 1015, 1109, 1202, 1295, 1392, 1483, 1577, 1669, 1766, 1859, 1953, 2044, 2139, 2232, 2326, 2419, 2515, 2609, 2701, 2792, 2887, 2984, 3075, 3170, 3262, 3355, 3449, 3545, 3637, 3731, 3823, 3918, 4011,
             4104, 4201, 4294, 4388, 4479, 4572, 4669, 4762, 4855, 4950, 5042, 5135, 5227, 5323, 5417, 5510, 5607, 5697, 5789, 5885, 5980, 6072, 6166, 6258, 6351, 6447, 6541, 6634, 6729, 6820, 6914, 7008, 7104, 7196, 7290, 7386]
    hit0 = 3
    data1 = [0, 3229, 3558, 3884, 4211, 4540, 4867, 5193, 5524, 5851, 6179, 6506, 6835, 7162, 7490, 7819, 8146, 8475, 8802, 9130, 9457, 9786, 10111, 10438, 10766, 11095, 11423, 11750, 12079, 12406, 12731, 13063, 13389, 13717, 14045, 14374, 14702,
             15028, 15356, 15684, 16012, 16342, 16664, 16992, 17319, 17649, 17977, 18305, 18634, 18962, 19287, 19616, 19944, 20272, 20602, 20929, 21257, 21581, 21911, 22238, 22566, 22895, 23221, 23547, 23876, 24204, 24532, 24862, 25190, 25514, 25841]
    hit1 = 1
    # 终结追击
    终结data0 = [0, 1938, 2132, 2332, 2526, 2725, 2920, 3118, 3314, 3511, 3707, 3903, 4101, 4295, 4493, 4691, 4886, 5085, 5281, 5478, 5674, 5871, 6067, 6264, 6460, 6657, 6854, 7050, 7246, 7444, 7639, 7839, 8034, 8231, 8426, 8624, 8820,
               9017, 9214, 9410, 9608, 9803, 9999, 10196, 10391, 10592, 10785, 10984, 11177, 11377, 11571, 11768, 11967, 12162, 12358, 12555, 12752, 12949, 13144, 13342, 13538, 13736, 13930, 14130, 14324, 14522, 14720, 14916, 15114, 15308, 15506]
    终结hit0 = 1

    TP成长 = 0.1
    TP上限 = 5

    演出时间 = 0.5
    是否有护石 = 1

    形态 = ["常规", "理论"]

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "常规":
            self.hit0 = 3
            self.hit1 = 1
            if '螺旋穿刺' in char.护石栏:
                self.hit0 = 12
        else:
            形态 == "理论"
            if 形态 == "理论":
                self.hit0 = 6
                self.hit1 = 1
                if '螺旋穿刺' in char.护石栏:
                    self.hit0 = 19

    def 装备护石(self, char):
        self.power0 = 0.5*1.47


class 技能10(收招技能):
    名称 = '疾风乱舞'
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 25
    MP = [164, 1376]
    无色消耗 = 1
    # 本体
    # 角色11下，分身4下
    data0 = [0, 922, 1013, 1107, 1201, 1294, 1388, 1483, 1575, 1667, 1764, 1855, 1948, 2043, 2135, 2230, 2324, 2417, 2509, 2602, 2696, 2790, 2883, 2977, 3072, 3165, 3257, 3350, 3444, 3537, 3631, 3725, 3819, 3912, 4004,
             4099, 4192, 4285, 4378, 4474, 4567, 4660, 4753, 4846, 4938, 5033, 5128, 5220, 5314, 5408, 5500, 5594, 5687, 5781, 5876, 5969, 6061, 6156, 6248, 6341, 6435, 6530, 6622, 6716, 6811, 6903, 6996, 7089, 7183, 7278, 7371]
    hit0 = 11
    data1 = [0, 916, 1010, 1104, 1197, 1290, 1381, 1474, 1569, 1661, 1754, 1848, 1939, 2032, 2126, 2219, 2313, 2405, 2498, 2591, 2684, 2779, 2872, 2964, 3058, 3152, 3244, 3338, 3430, 3523, 3616, 3710, 3802, 3895, 3988,
             4081, 4173, 4266, 4361, 4453, 4547, 4640, 4732, 4824, 4919, 5011, 5104, 5197, 5290, 5382, 5476, 5571, 5664, 5757, 5850, 5944, 6035, 6129, 6222, 6314, 6408, 6503, 6595, 6688, 6780, 6873, 6966, 7060, 7153, 7244, 7338]
    hit1 = 4
    data2 = [0, 1649, 1816, 1983, 2149, 2316, 2484, 2652, 2817, 2987, 3155, 3320, 3488, 3656, 3824, 3989, 4158, 4327, 4492, 4660, 4827, 4994, 5160, 5328, 5496, 5663, 5830, 5997, 6165, 6333, 6498, 6668, 6835, 7003, 7169, 7337, 7504,
             7669, 7837, 8003, 8173, 8340, 8508, 8674, 8841, 9009, 9177, 9344, 9511, 9678, 9845, 10014, 10180, 10348, 10514, 10681, 10849, 11016, 11184, 11350, 11518, 11685, 11853, 12021, 12188, 12355, 12523, 12690, 12856, 13024, 13194]
    hit2 = 1
    # 终结追击
    终结data0 = [0, 3090, 3404, 3716, 4031, 4343, 4656, 4971, 5285, 5598, 5910, 6223, 6537, 6851, 7164, 7478, 7791, 8104, 8418, 8731, 9045, 9357, 9673, 9985, 10300, 10612, 10927, 11239, 11552, 11868, 12180, 12495, 12807, 13121, 13434, 13748, 14061,
               14376, 14688, 15002, 15315, 15629, 15942, 16254, 16570, 16883, 17197, 17509, 17821, 18136, 18448, 18762, 19076, 19391, 19703, 20016, 20330, 20644, 20957, 21271, 21584, 21899, 22210, 22525, 22838, 23151, 23465, 23779, 24094, 24406, 24720]
    终结hit0 = 1

    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1
    演出时间 = 0.6

    def 装备护石(self, char):
        self.hit1 = 8
        self.power1 = 1.44
        self.终结power0 = 1.08
        self.CDR *= 0.9


class 技能11(主动技能):
    名称 = '死亡风暴'
    是否主动 = 0
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 3
    等级精通 = 60

    data0 = [0, 577, 636, 696, 758, 815, 876, 936, 995, 1056, 1116, 1177, 1234, 1295, 1356, 1413, 1473, 1534, 1591, 1652, 1713, 1774, 1831, 1892, 1951, 2013, 2074, 2130, 2189, 2249, 2308, 2370, 2431, 2488, 2549, 2609,
             2671, 2728, 2789, 2849, 2906, 2966, 3028, 3085, 3146, 3206, 3265, 3328, 3386, 3446, 3505, 3565, 3622, 3684, 3743, 3803, 3862, 3923, 3985, 4043, 4104, 4163, 4222, 4283, 4344, 4400, 4461, 4519, 4580, 4640, 4701]
    hit0 = 15
    CD = 12.0
    演出时间 = 0.5
    CP武器 = False

    形态 = ["正背", "中心"]

    TP成长 = 0.1
    TP上限 = 5

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "正背":
            self.hit0 = 15
        if 形态 == "中心":
            self.hit0 = 30
        if self.CP武器:
            self.hit0 = 20


class 技能12(收招技能):
    名称 = '绝命瞬狱杀'
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 45
    MP = [311, 2612]
    无色消耗 = 2
    # 本体
    data0 = [0, 2565, 2824, 3086, 3346, 3604, 3866, 4126, 4386, 4647, 4909, 5168, 5427, 5687, 5948, 6208, 6468, 6729, 6989, 7248, 7509, 7771, 8030, 8291, 8551, 8809, 9072, 9331, 9592, 9851, 10112, 10372, 10633, 10894, 11153, 11414, 11672,
             11934, 12194, 12454, 12714, 12976, 13234, 13496, 13756, 14014, 14277, 14538, 14797, 15056, 15318, 15577, 15838, 16098, 16358, 16618, 16880, 17139, 17397, 17660, 17918, 18181, 18439, 18702, 18961, 19220, 19481, 19742, 20001, 20261, 20523]
    hit0 = 1
    data1 = [0, 3846, 4238, 4626, 5019, 5409, 5799, 6188, 6581, 6970, 7361, 7750, 8139, 8531, 8922, 9313, 9703, 10093, 10483, 10874, 11263, 11655, 12044, 12435, 12827, 13217, 13607, 13997, 14388, 14779, 15168, 15558, 15948, 16340, 16729, 17121,
             17512, 17900, 18292, 18682, 19071, 19462, 19853, 20241, 20633, 21025, 21416, 21804, 22197, 22587, 22976, 23366, 23757, 24146, 24538, 24929, 25318, 25709, 26101, 26488, 26879, 27271, 27659, 28050, 28440, 28831, 29222, 29613, 30002, 30393, 30784]
    hit1 = 1
    data2 = [0, 5130, 5650, 6170, 6692, 7212, 7732, 8255, 8773, 9294, 9816, 10335, 10854, 11374, 11896, 12417, 12937, 13459, 13979, 14498, 15021, 15541, 16059, 16581, 17102, 17622, 18142, 18665, 19183, 19704, 20226, 20746, 21264, 21786, 22306, 22827,
             23348, 23868, 24389, 24909, 25431, 25951, 26470, 26991, 27512, 28032, 28554, 29073, 29594, 30114, 30636, 31157, 31674, 32196, 32717, 33237, 33759, 34279, 34798, 35321, 35841, 36361, 36879, 37403, 37922, 38442, 38965, 39483, 40004, 40526, 41046]
    hit2 = 1
    data3 = [0, 6411, 7064, 7714, 8364, 9014, 9666, 10316, 10968, 11618, 12269, 12919, 13570, 14219, 14871, 15522, 16172, 16822, 17475, 18124, 18776, 19425, 20076, 20727, 21377, 22028, 22680, 23329, 23980, 24630, 25281, 25931, 26583, 27234, 27885, 28535,
             29184, 29835, 30487, 31136, 31789, 32439, 33089, 33739, 34388, 35039, 35691, 36342, 36994, 37644, 38293, 38944, 39594, 40246, 40896, 41547, 42197, 42848, 43498, 44149, 44799, 45452, 46101, 46753, 47403, 48053, 48703, 49355, 50004, 50656, 51305]
    hit3 = 1
    # 终结追击
    终结data0 = [0, 3590, 3955, 4318, 4683, 5048, 5411, 5776, 6142, 6505, 6870, 7235, 7598, 7962, 8328, 8691, 9055, 9418, 9785, 10150, 10515, 10878, 11243, 11608, 11971, 12335, 12698, 13064, 13429, 13792, 14157, 14522, 14885, 15251, 15616, 15979,
               16343, 16706, 17071, 17437, 17799, 18164, 18529, 18892, 19257, 19623, 19987, 20352, 20713, 21078, 21444, 21810, 22173, 22538, 22903, 23266, 23631, 23997, 24360, 24725, 25087, 25452, 25817, 26180, 26545, 26910, 27273, 27638, 28003, 28366, 28732]
    终结hit0 = 1

    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1
    演出时间 = 0.6

    def 装备护石(self, char):
        self.终结power0 = 3*0.47*1.16


class 技能13(被动技能):
    名称 = '月弧'
    所在等级 = 48
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.095 + 0.02 * self.等级, 5)


class 技能14(主动技能):
    名称 = '月舞终结'
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 145
    MP = [850, 7000]
    无色消耗 = 0

    data0 = [0, 12545, 15453, 18362, 21271, 24181, 27091, 30000, 32907, 35816, 38727, 41635, 44545, 47454, 50364, 53273, 56181, 59091, 61998, 64909, 67820, 70727, 73635, 76544, 79454, 82364, 85273,
             88182, 91092, 94000, 96909, 99819, 102727, 105638, 108548, 111455, 114363, 117272, 120183, 123092, 126001, 128909, 131819, 134728, 137638, 140547, 143456, 146365, 149274, 152183, 155092]
    hit0 = 1
    data1 = [0, 14337, 17661, 20986, 24310, 27635, 30962, 34286, 37608, 40933, 44259, 47583, 50909, 54234, 57559, 60883, 64206, 67533, 70855, 74182, 77508, 80831, 84154, 87479, 90805, 94130, 97454,
             100779, 104106, 107429, 110753, 114079, 117402, 120729, 124054, 127378, 130700, 134026, 137352, 140676, 144001, 147325, 150650, 153975, 157300, 160625, 163950, 167274, 170598, 173923, 177248]
    hit1 = 1
    data2 = [0, 16129, 19868, 23609, 27348, 31090, 34832, 38571, 42309, 46049, 49792, 53531, 57272, 61013, 64754, 68494, 72232, 75974, 79712, 83454, 87197, 90935, 94674, 98414, 102155, 105897, 109636,
             113377, 117119, 120857, 124597, 128339, 132078, 135820, 139561, 143300, 147038, 150779, 154521, 158261, 162001, 165740, 169482, 173222, 176963, 180703, 184443, 188184, 191923, 195664, 199404]
    hit2 = 1
    data3 = [0, 17921, 22076, 26232, 30387, 34544, 38702, 42857, 47010, 51166, 55324, 59479, 63636, 67792, 71949, 76104, 80258, 84416, 88569, 92727, 96885, 101039, 105193, 109349, 113506, 117663, 121818,
             125974, 130132, 134286, 138441, 142599, 146753, 150911, 155068, 159222, 163375, 167532, 171690, 175845, 180001, 184156, 188313, 192469, 196625, 200781, 204937, 209093, 213248, 217404, 221560]
    hit3 = 1
    data4 = [0, 28674, 35322, 41971, 48619, 55270, 61923, 68571, 75216, 81866, 88518, 95166, 101818, 108467, 115118, 121766, 128413, 135066, 141710, 148363, 155016, 161662, 168309, 174958, 181610, 188261,
             194909, 201558, 208211, 214858, 221506, 228158, 234805, 241458, 248109, 254755, 261400, 268051, 274704, 281352, 288002, 294650, 301301, 307950, 314600, 321250, 327899, 334549, 341197, 347846, 354496]
    hit4 = 1

    演出时间 = 0.6

    # 月轮舞的冷却不受武器类型影响，但月舞终结是正常受到武器类型影响的


class 技能15(收招技能):
    名称 = '旋刃冲击'
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 30
    MP = [400, 1120]
    无色消耗 = 2
    # 本体
    data0 = [0, 717, 790, 862, 936, 1007, 1081, 1154, 1227, 1300, 1372, 1445, 1518, 1592, 1664, 1736, 1809, 1882, 1954, 2027, 2101, 2174, 2247, 2319, 2393,
             2464, 2537, 2610, 2684, 2756, 2829, 2901, 2975, 3046, 3119, 3192, 3266, 3338, 3411, 3483, 3557, 3630, 3702, 3776, 3848, 3922, 3993, 4067, 4139, 4214, 4285]
    hit0 = 30
    # 终结追击
    终结data0 = [0, 803, 885, 966, 1048, 1128, 1212, 1293, 1373, 1456, 1536, 1618, 1698, 1783, 1864, 1946, 2027, 2107, 2189, 2271, 2353, 2434, 2517, 2597, 2679,
               2760, 2841, 2923, 3005, 3087, 3167, 3249, 3331, 3412, 3494, 3576, 3658, 3738, 3821, 3902, 3983, 4065, 4146, 4228, 4310, 4391, 4472, 4553, 4635, 4720, 4801]
    终结hit0 = 5
    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 = 35
        self.power0 = 1.07
        self.终结power0 = 31/5*0.2*1.07
        self.CDR *= 0.89

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == '收招':
            self.终结hit0 = 5
        if 形态 == '非收':
            self.终结hit0 = 0


class 技能16(收招技能):
    名称 = '陨落螺旋刺'
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 50
    MP = [800, 1680]
    无色消耗 = 3
    # 本体
    data0 = [0, 3172, 3494, 3815, 4137, 4457, 4782, 5104, 5423, 5747, 6069, 6389, 6712, 7034, 7354, 7676, 7999, 8320, 8642, 8965, 9287, 9607, 9930, 10251, 10573, 10896, 11218,
             11537, 11860, 12183, 12503, 12827, 13150, 13469, 13792, 14115, 14435, 14757, 15077, 15401, 15722, 16044, 16366, 16689, 17010, 17333, 17655, 17975, 18298, 18620, 18941]
    hit0 = 3
    data1 = [0, 22204, 24458, 26711, 28964, 31216, 33469, 35722, 37974, 40228, 42481, 44734, 46986, 49239, 51491, 53745, 55996, 58251, 60504, 62756, 65008, 67261, 69514, 71768, 74019, 76274,
             78526, 80780, 83031, 85285, 87537, 89790, 92042, 94297, 96549, 98803, 101054, 103308, 105560, 107810, 110067, 112320, 114572, 116823, 119077, 121329, 123583, 125833, 128089, 130342, 132596]
    hit1 = 1
    # 终结追击
    终结data0 = [0, 6344, 6988, 7630, 8275, 8919, 9562, 10205, 10850, 11493, 12136, 12780, 13425, 14066, 14711, 15353, 16000, 16643, 17285, 17931, 18572, 19216, 19863, 20504, 21148, 21793,
               22435, 23078, 23723, 24367, 25011, 25654, 26296, 26942, 27585, 28229, 28870, 29516, 30157, 30802, 31448, 32090, 32734, 33376, 34021, 34667, 35308, 35954, 36597, 37239, 37886]
    终结hit0 = 1

    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 = 0
        self.power1 = 2.27


class 技能17(收招技能):
    名称 = '乱空杀'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40
    CD = 30
    MP = [580, 4500]
    无色消耗 = 3
    # 本体
    data0 = [0, 3803, 4407, 5015, 5621, 6227, 6835, 7440, 8047, 8653, 9260, 9864, 10473, 11079, 11685, 12293, 12898, 13505, 14108, 14715, 15321, 15928, 16533, 17141, 17747, 18353,
             18962, 19566, 20173, 20779, 21386, 21991, 22599, 23206, 23811, 24419, 25023, 25630, 26238, 26844, 27450, 28056, 28662, 29268, 29875, 30481, 31088, 31693, 32300, 32906, 33512]
    hit0 = 6
    data1 = [0, 15212, 17636, 20065, 22490, 24914, 27339, 29763, 32191, 34616, 37041, 39466, 41889, 44317, 46742, 49166, 51594, 54020, 56443, 58868, 61294, 63720, 66146, 68572, 70996, 73421,
             75846, 78272, 80698, 83123, 85547, 87972, 90398, 92824, 95248, 97675, 100102, 102524, 104950, 107375, 109803, 112227, 114652, 117077, 119504, 121929, 124353, 126779, 129204, 131630, 134056]
    hit1 = 1
    # 终结追击
    终结data0 = [0, 7604, 8819, 10032, 11244, 12457, 13667, 14881, 16095, 17306, 18520, 19733, 20945, 22158, 23370, 24584, 25797, 27010, 28220, 29432, 30646, 31860, 33071, 34284, 35498,
               36710, 37924, 39136, 40349, 41562, 42775, 43985, 45197, 46410, 47625, 48836, 50049, 51262, 52475, 53687, 54901, 56113, 57326, 58538, 59750, 60963, 62176, 63390, 64602, 65815, 67027]
    终结hit0 = 1

    是否有护石 = 1
    演出时间 = 0.2

    def 装备护石(self, char):
        self.倍率 *= 1.17
        self.CDR *= 0.89


class 技能18(被动技能):
    名称 = '极限追击'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    def 物理攻击力倍率进图(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.08 + 0.02 * self.等级, 5)


class 技能19(收招技能):
    名称 = '月影突袭'
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 50
    MP = [800, 6000]
    无色消耗 = 5
    # 本体
    data0 = [0, 5877, 6476, 7073, 7668, 8265, 8860, 9457, 10056, 10650, 11247, 11845, 12441, 13035, 13631, 14230, 14827, 15423, 16019, 16616, 17212, 17811, 18407, 19001, 19598, 20194,
             20791, 21386, 21985, 22582, 23179, 23774, 24370, 24965, 25564, 26161, 26757, 27354, 27948, 28545, 29142, 29738, 30335, 30932, 31528, 32124, 32722, 33318, 33915, 34511, 35107]
    hit0 = 10
    # 终结追击
    终结data0 = [0, 11758, 12952, 14144, 15338, 16531, 17723, 18916, 20111, 21303, 22495, 23688, 24882, 26075, 27266, 28461, 29656, 30846, 32040, 33232, 34427, 35620, 36811, 38005, 39195,
               40391, 41582, 42776, 43972, 45162, 46355, 47549, 48743, 49934, 51129, 52321, 53511, 54707, 55900, 57093, 58283, 59479, 60672, 61864, 63058, 64251, 65444, 66636, 67830, 69023, 70216]
    终结hit0 = 1

    演出时间 = 0.6
    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.35


class 技能20(收招技能):
    名称 = '天渊星狱'
    所在等级 = 85
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 180
    MP = [2500, 8000]
    无色消耗 = 10
    # 本体
    data0 = [0, 490, 604, 718, 832, 945, 1059, 1174, 1287, 1401, 1514, 1629, 1743, 1856, 1970, 2085, 2198, 2312, 2426, 2540, 2654, 2766, 2881, 2997, 3108, 3222,
             3336, 3450, 3565, 3677, 3792, 3906, 4019, 4132, 4247, 4361, 4474, 4588, 4703, 4816, 4933, 5043, 5157, 5272, 5383, 5500, 5612, 5727, 5840, 5956, 6069]
    hit0 = 7  # 上一任作者写的8；个人测试7
    data1 = [0, 113416, 139716, 166016, 192317, 218614, 244914, 271214, 297514, 323813, 350112, 376414, 402714, 429011, 455312, 481612, 507911, 534211, 560513, 586812, 613112, 639409, 665708, 692010, 718308, 744608,
             770910, 797207, 823509, 849807, 876107, 902408, 928706, 955006, 981307, 1007605, 1033904, 1060203, 1086505, 1112805, 1139104, 1165405, 1191704, 1218001, 1244302, 1270604, 1296903, 1323203, 1349501, 1375800, 1402101]
    hit1 = 1
    # 终结追击
    终结data0 = [0, 23566, 29032, 34497, 39960, 45425, 50889, 56354, 61820, 67286, 72750, 78216, 83680, 89144, 94611, 100074, 105539, 111005, 116470, 121934, 127397, 132864, 138329, 143792, 149258, 154722,
               160187, 165653, 171118, 176583, 182047, 187512, 192978, 198444, 203909, 209370, 214835, 220301, 225766, 231231, 236696, 242160, 247626, 253092, 258555, 264022, 269486, 274951, 280416, 285880, 291345]
    终结hit0 = 1
    演出时间 = 3


class 技能21(收招技能):
    名称 = '幻灭瞬杀'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 60
    MP = [960, 7200]
    无色消耗 = 7
    # 本体
    data0 = [0, 18995, 20921, 22848, 24776, 26703, 28629, 30558, 32483, 34410, 36339, 38265, 40192, 42119, 44047, 45973, 47900, 49828, 51753, 53682, 55609, 57536, 59463, 61389, 63318, 65244,
             67171, 69099, 71025, 72952, 74880, 76806, 78733, 80662, 82587, 84514, 86442, 88368, 90295, 92223, 94150, 96077, 98005, 99932, 101858, 103786, 105712, 107640, 109567, 111494, 113421]
    hit0 = 5
    # 终结追击
    终结data0 = [0, 18995, 20921, 22848, 24776, 26703, 28629, 30558, 32483, 34410, 36339, 38265, 40192, 42119, 44047, 45973, 47900, 49828, 51753, 53682, 55609, 57536, 59463, 61389, 63318, 65244,
               67171, 69099, 71025, 72952, 74880, 76806, 78733, 80662, 82587, 84514, 86442, 88368, 90295, 92223, 94150, 96077, 98005, 99932, 101858, 103786, 105712, 107640, 109567, 111494, 113421]
    终结hit0 = 1

    演出时间 = 0.5


class 技能22(被动技能):
    名称 = '绝命时刻'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能23(收招技能):
    名称 = '影·万古星辰'
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 290
    MP = [4028, 9667]
    无色消耗 = 15
    # 本体
    data0 = [0, 23748, 29256, 34763, 40270, 45779, 51285, 56791, 62299, 67806, 73313, 78821, 84327, 89835, 95343, 100849, 106357, 111864, 117370, 122878, 128385, 133891, 139400, 144906, 150413, 155921,
             161428, 166935, 172441, 177949, 183457, 188964, 194471, 199979, 205485, 210992, 216500, 222006, 227514, 233022, 238528, 244035, 249543, 255050, 260558, 266064, 271571, 277079, 282586, 288093, 293599]
    hit0 = 13
    # 终结追击
    终结data0 = [0, 61748, 76068, 90385, 104705, 119023, 133342, 147659, 161979, 176297, 190615, 204934, 219254, 233572, 247890, 262208, 276528, 290845, 305164, 319484, 333803, 348121, 362439, 376758, 391076,
               405395, 419713, 434033, 448351, 462670, 476988, 491306, 505625, 519944, 534262, 548580, 562900, 577219, 591536, 605855, 620174, 634492, 648810, 663130, 677448, 691767, 706085, 720404, 734722, 749041, 763360]
    终结hit0 = 1
    演出时间 = 6


class classChange(Character):
    def __init__(self, equVersion=""):
        self.实际名称 = 'rogue'
        self.名称 = '隐夜·刺客'
        self.角色 = '暗夜使者'

        self.职业 = '刺客'
        self.武器选项 = ['匕首', '双剑']
        self.输出类型选项 = ['物理百分比']
        self.防具精通属性 = ['力量']
        self.类型 = '物理百分比'
        self.武器类型 = '匕首'
        self.防具类型 = '皮甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 1.77

        super().__init__(equVersion)

    def 职业特殊计算(self):
        匕首精通 = self.get_skill_by_name('匕首精通')
        双剑精通 = self.get_skill_by_name('双剑精通')
        # 同步匕首和双剑精通等级，防止白金和时装有问题
        双剑精通.等级 = 匕首精通.等级 = max(双剑精通.等级, 匕首精通.等级)
